home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / nfsmount / RCS / nfs_prot.h,v < prev    next >
Text File  |  1989-10-10  |  6KB  |  393 lines

  1. head     1.2;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.2
  10. date     89.10.10.13.17.30;  author douglis;  state Exp;
  11. branches ;
  12. next     1.1;
  13.  
  14. 1.1
  15. date     88.11.02.12.44.43;  author brent;  state Exp;
  16. branches ;
  17. next     ;
  18.  
  19.  
  20. desc
  21. @This file derived from nfs_prot.x
  22. @
  23.  
  24.  
  25. 1.2
  26. log
  27. @Changed void * to VoidPtr to remove lint
  28. @
  29. text
  30. @#include "voiddef.h"
  31. #define NFS_PORT 2049
  32. #define NFS_MAXDATA 8192
  33. #define NFS_MAXPATHLEN 1024
  34. #define NFS_MAXNAMLEN 255
  35. #define NFS_FHSIZE 32
  36. #define NFS_COOKIESIZE 4
  37. #define NFS_FIFO_DEV -1
  38. #define NFSMODE_FMT 0170000
  39. #define NFSMODE_DIR 0040000
  40. #define NFSMODE_CHR 0020000
  41. #define NFSMODE_BLK 0060000
  42. #define NFSMODE_REG 0100000
  43. #define NFSMODE_LNK 0120000
  44. #define NFSMODE_SOCK 0140000
  45. #define NFSMODE_FIFO 0010000
  46.  
  47. enum nfsstat {
  48.     NFS_OK = 0,
  49.     NFSERR_PERM = 1,
  50.     NFSERR_NOENT = 2,
  51.     NFSERR_IO = 5,
  52.     NFSERR_NXIO = 6,
  53.     NFSERR_ACCES = 13,
  54.     NFSERR_EXIST = 17,
  55.     NFSERR_NODEV = 19,
  56.     NFSERR_NOTDIR = 20,
  57.     NFSERR_ISDIR = 21,
  58.     NFSERR_FBIG = 27,
  59.     NFSERR_NOSPC = 28,
  60.     NFSERR_ROFS = 30,
  61.     NFSERR_NAMETOOLONG = 63,
  62.     NFSERR_NOTEMPTY = 66,
  63.     NFSERR_DQUOT = 69,
  64.     NFSERR_STALE = 70,
  65.     NFSERR_WFLUSH = 99,
  66. };
  67. typedef enum nfsstat nfsstat;
  68. bool_t xdr_nfsstat();
  69.  
  70.  
  71. enum ftype {
  72.     NFNON = 0,
  73.     NFREG = 1,
  74.     NFDIR = 2,
  75.     NFBLK = 3,
  76.     NFCHR = 4,
  77.     NFLNK = 5,
  78.     NFSOCK = 6,
  79.     NFBAD = 7,
  80.     NFFIFO = 8,
  81. };
  82. typedef enum ftype ftype;
  83. bool_t xdr_ftype();
  84.  
  85.  
  86. struct nfs_fh {
  87.     char data[NFS_FHSIZE];
  88. };
  89. typedef struct nfs_fh nfs_fh;
  90. bool_t xdr_nfs_fh();
  91.  
  92.  
  93. struct nfstime {
  94.     u_int seconds;
  95.     u_int useconds;
  96. };
  97. typedef struct nfstime nfstime;
  98. bool_t xdr_nfstime();
  99.  
  100.  
  101. struct fattr {
  102.     ftype type;
  103.     u_int mode;
  104.     u_int nlink;
  105.     u_int uid;
  106.     u_int gid;
  107.     u_int size;
  108.     u_int blocksize;
  109.     u_int rdev;
  110.     u_int blocks;
  111.     u_int fsid;
  112.     u_int fileid;
  113.     nfstime atime;
  114.     nfstime mtime;
  115.     nfstime ctime;
  116. };
  117. typedef struct fattr fattr;
  118. bool_t xdr_fattr();
  119.  
  120.  
  121. struct sattr {
  122.     u_int mode;
  123.     u_int uid;
  124.     u_int gid;
  125.     u_int size;
  126.     nfstime atime;
  127.     nfstime mtime;
  128. };
  129. typedef struct sattr sattr;
  130. bool_t xdr_sattr();
  131.  
  132.  
  133. typedef char *filename;
  134. bool_t xdr_filename();
  135.  
  136.  
  137. typedef char *nfspath;
  138. bool_t xdr_nfspath();
  139.  
  140.  
  141. struct attrstat {
  142.     nfsstat status;
  143.     union {
  144.         fattr attributes;
  145.     } attrstat_u;
  146. };
  147. typedef struct attrstat attrstat;
  148. bool_t xdr_attrstat();
  149.  
  150.  
  151. struct sattrargs {
  152.     nfs_fh file;
  153.     sattr attributes;
  154. };
  155. typedef struct sattrargs sattrargs;
  156. bool_t xdr_sattrargs();
  157.  
  158.  
  159. struct diropargs {
  160.     nfs_fh dir;
  161.     filename name;
  162. };
  163. typedef struct diropargs diropargs;
  164. bool_t xdr_diropargs();
  165.  
  166.  
  167. struct diropokres {
  168.     nfs_fh file;
  169.     fattr attributes;
  170. };
  171. typedef struct diropokres diropokres;
  172. bool_t xdr_diropokres();
  173.  
  174.  
  175. struct diropres {
  176.     nfsstat status;
  177.     union {
  178.         diropokres diropres;
  179.     } diropres_u;
  180. };
  181. typedef struct diropres diropres;
  182. bool_t xdr_diropres();
  183.  
  184.  
  185. struct readlinkres {
  186.     nfsstat status;
  187.     union {
  188.         nfspath data;
  189.     } readlinkres_u;
  190. };
  191. typedef struct readlinkres readlinkres;
  192. bool_t xdr_readlinkres();
  193.  
  194.  
  195. struct readargs {
  196.     nfs_fh file;
  197.     u_int offset;
  198.     u_int count;
  199.     u_int totalcount;
  200. };
  201. typedef struct readargs readargs;
  202. bool_t xdr_readargs();
  203.  
  204.  
  205. struct readokres {
  206.     fattr attributes;
  207.     struct {
  208.         u_int data_len;
  209.         char *data_val;
  210.     } data;
  211. };
  212. typedef struct readokres readokres;
  213. bool_t xdr_readokres();
  214.  
  215.  
  216. struct readres {
  217.     nfsstat status;
  218.     union {
  219.         readokres reply;
  220.     } readres_u;
  221. };
  222. typedef struct readres readres;
  223. bool_t xdr_readres();
  224.  
  225.  
  226. struct writeargs {
  227.     nfs_fh file;
  228.     u_int beginoffset;
  229.     u_int offset;
  230.     u_int totalcount;
  231.     struct {
  232.         u_int data_len;
  233.         char *data_val;
  234.     } data;
  235. };
  236. typedef struct writeargs writeargs;
  237. bool_t xdr_writeargs();
  238.  
  239.  
  240. struct createargs {
  241.     diropargs where;
  242.     sattr attributes;
  243. };
  244. typedef struct createargs createargs;
  245. bool_t xdr_createargs();
  246.  
  247.  
  248. struct renameargs {
  249.     diropargs from;
  250.     diropargs to;
  251. };
  252. typedef struct renameargs renameargs;
  253. bool_t xdr_renameargs();
  254.  
  255.  
  256. struct linkargs {
  257.     nfs_fh from;
  258.     diropargs to;
  259. };
  260. typedef struct linkargs linkargs;
  261. bool_t xdr_linkargs();
  262.  
  263.  
  264. struct symlinkargs {
  265.     diropargs from;
  266.     nfspath to;
  267.     sattr attributes;
  268. };
  269. typedef struct symlinkargs symlinkargs;
  270. bool_t xdr_symlinkargs();
  271.  
  272.  
  273. typedef char nfscookie[NFS_COOKIESIZE];
  274. bool_t xdr_nfscookie();
  275.  
  276.  
  277. struct readdirargs {
  278.     nfs_fh dir;
  279.     nfscookie cookie;
  280.     u_int count;
  281. };
  282. typedef struct readdirargs readdirargs;
  283. bool_t xdr_readdirargs();
  284.  
  285.  
  286. struct entry {
  287.     u_int fileid;
  288.     filename name;
  289.     nfscookie cookie;
  290.     struct entry *nextentry;
  291. };
  292. typedef struct entry entry;
  293. bool_t xdr_entry();
  294.  
  295.  
  296. struct dirlist {
  297.     entry *entries;
  298.     bool_t eof;
  299. };
  300. typedef struct dirlist dirlist;
  301. bool_t xdr_dirlist();
  302.  
  303.  
  304. struct readdirres {
  305.     nfsstat status;
  306.     union {
  307.         dirlist reply;
  308.     } readdirres_u;
  309. };
  310. typedef struct readdirres readdirres;
  311. bool_t xdr_readdirres();
  312.  
  313.  
  314. struct statfsokres {
  315.     u_int tsize;
  316.     u_int bsize;
  317.     u_int blocks;
  318.     u_int bfree;
  319.     u_int bavail;
  320. };
  321. typedef struct statfsokres statfsokres;
  322. bool_t xdr_statfsokres();
  323.  
  324.  
  325. struct statfsres {
  326.     nfsstat status;
  327.     union {
  328.         statfsokres reply;
  329.     } statfsres_u;
  330. };
  331. typedef struct statfsres statfsres;
  332. bool_t xdr_statfsres();
  333.  
  334.  
  335. #define NFS_PROGRAM ((u_long)100003)
  336. #define NFS_VERSION ((u_long)2)
  337. #define NFSPROC_NULL ((u_long)0)
  338. extern VoidPtr nfsproc_null_2();
  339. #define NFSPROC_GETATTR ((u_long)1)
  340. extern attrstat *nfsproc_getattr_2();
  341. #define NFSPROC_SETATTR ((u_long)2)
  342. extern attrstat *nfsproc_setattr_2();
  343. #define NFSPROC_ROOT ((u_long)3)
  344. extern VoidPtr nfsproc_root_2();
  345. #define NFSPROC_LOOKUP ((u_long)4)
  346. extern diropres *nfsproc_lookup_2();
  347. #define NFSPROC_READLINK ((u_long)5)
  348. extern readlinkres *nfsproc_readlink_2();
  349. #define NFSPROC_READ ((u_long)6)
  350. extern readres *nfsproc_read_2();
  351. #define NFSPROC_WRITECACHE ((u_long)7)
  352. extern VoidPtr nfsproc_writecache_2();
  353. #define NFSPROC_WRITE ((u_long)8)
  354. extern attrstat *nfsproc_write_2();
  355. #define NFSPROC_CREATE ((u_long)9)
  356. extern diropres *nfsproc_create_2();
  357. #define NFSPROC_REMOVE ((u_long)10)
  358. extern nfsstat *nfsproc_remove_2();
  359. #define NFSPROC_RENAME ((u_long)11)
  360. extern nfsstat *nfsproc_rename_2();
  361. #define NFSPROC_LINK ((u_long)12)
  362. extern nfsstat *nfsproc_link_2();
  363. #define NFSPROC_SYMLINK ((u_long)13)
  364. extern nfsstat *nfsproc_symlink_2();
  365. #define NFSPROC_MKDIR ((u_long)14)
  366. extern diropres *nfsproc_mkdir_2();
  367. #define NFSPROC_RMDIR ((u_long)15)
  368. extern nfsstat *nfsproc_rmdir_2();
  369. #define NFSPROC_READDIR ((u_long)16)
  370. extern readdirres *nfsproc_readdir_2();
  371. #define NFSPROC_STATFS ((u_long)17)
  372. extern statfsres *nfsproc_statfs_2();
  373.  
  374. @
  375.  
  376.  
  377. 1.1
  378. log
  379. @Initial revision
  380. @
  381. text
  382. @d1 1
  383. d309 1
  384. a309 1
  385. extern void *nfsproc_null_2();
  386. d315 1
  387. a315 1
  388. extern void *nfsproc_root_2();
  389. d323 1
  390. a323 1
  391. extern void *nfsproc_writecache_2();
  392. @
  393.